#ifndef TD_GOLD_MESSAGE_H_
#define TD_GOLD_MESSAGE_H_

/************************************************************************/
/* STL                                                                  */
/************************************************************************/
#include <string>

/************************************************************************/
/* PROJECT                                                              */
/************************************************************************/

/************************************************************************/
/* Core                                                                 */
/************************************************************************/
#include "Core/Coord2D.h"

/************************************************************************/
/* GUI                                                                  */
/************************************************************************/
#include "GUI/TextMessages/BaseTextMessage.h"

/************************************************************************/
/* Resources                                                            */
/************************************************************************/
#include "Resources/SDLFont.h"
#include "Resources/ResourceManager.h"

namespace TD_GUI {

	class GoldMessage : public BaseTextMessage {
		int m_alphaChannel;
		int m_upUnits;
		Coord2D m_originalPos;
		
		Coord2D m_dispVector;
		bool m_finishedAnimation;
		bool m_fadedAnimation;

	public:

		/************************************************************************/
		/* ctors and dtors					                                    */
		/************************************************************************/
		//Default constructor
		explicit GoldMessage();

		//Copy constructor
		explicit GoldMessage(const GoldMessage &rhs);

		//Assignment constructor
		GoldMessage& operator=(const GoldMessage &rhs);

		//Destructor
		~GoldMessage();

		//Initialization constructor
		GoldMessage(const Coord2D &textPos, const string &initString, const string &fontSource, unsigned int fontSize, const Color &fontColor, renderType g_renderType = textBlended);


		/************************************************************************/
		/* Rendering                                                            */
		/************************************************************************/
		void update();
		void render(SDL_Surface *const g_destSurface, unsigned int deltaTime);

		/************************************************************************/
		/* Access functions                                                     */
		/************************************************************************/

		bool isFinished() const {
			return(m_fadedAnimation);
		}
	};
}
#endif